<!DOCTYPE HTML>

<html lang="en">
<head>

<title>AbstractLdapAuthenticationProvider (spring-security-docs 5.6.3 API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../jquery/jquery-3.5.1.js"></script>
<script type="text/javascript" src="../../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="AbstractLdapAuthenticationProvider (spring-security-docs 5.6.3 API)";
        }
    }
    catch(err) {
    }
//-->
var data = {"i0":10,"i1":10,"i2":6,"i3":10,"i4":6,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">

<div class="topNav"><a id="navbar.top">

</a>
<div class="skipNav"><a href="AbstractLdapAuthenticationProvider.html#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">

</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="AbstractLdapAuthenticationProvider.html#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="AbstractLdapAuthenticationProvider.html#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="AbstractLdapAuthenticationProvider.html#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="AbstractLdapAuthenticationProvider.html#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="AbstractLdapAuthenticationProvider.html#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="AbstractLdapAuthenticationProvider.html#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">

</a></div>

</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>

<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">org.springframework.security.ldap.authentication</a></div>
<h2 title="Class AbstractLdapAuthenticationProvider" class="title">Class AbstractLdapAuthenticationProvider</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>org.springframework.security.ldap.authentication.AbstractLdapAuthenticationProvider</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><code>org.springframework.beans.factory.Aware</code>, <code>org.springframework.context.MessageSourceAware</code>, <code><a href="../../authentication/AuthenticationProvider.html" title="interface in org.springframework.security.authentication">AuthenticationProvider</a></code></dd>
</dl>
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><code><a href="ad/ActiveDirectoryLdapAuthenticationProvider.html" title="class in org.springframework.security.ldap.authentication.ad">ActiveDirectoryLdapAuthenticationProvider</a></code>, <code><a href="LdapAuthenticationProvider.html" title="class in org.springframework.security.ldap.authentication">LdapAuthenticationProvider</a></code></dd>
</dl>
<hr>
<pre>public abstract class <span class="typeNameLabel">AbstractLdapAuthenticationProvider</span>
extends java.lang.Object
implements <a href="../../authentication/AuthenticationProvider.html" title="interface in org.springframework.security.authentication">AuthenticationProvider</a>, org.springframework.context.MessageSourceAware</pre>
<div class="block">Base class for the standard <code>LdapAuthenticationProvider</code> and the
<code>ActiveDirectoryLdapAuthenticationProvider</code>.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>3.1</dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">

<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.summary">

</a>
<h3>Field Summary</h3>
<table class="memberSummary">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Field</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected org.apache.commons.logging.Log</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="AbstractLdapAuthenticationProvider.html#logger">logger</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected org.springframework.context.support.MessageSourceAccessor</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="AbstractLdapAuthenticationProvider.html#messages">messages</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../userdetails/UserDetailsContextMapper.html" title="interface in org.springframework.security.ldap.userdetails">UserDetailsContextMapper</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="AbstractLdapAuthenticationProvider.html#userDetailsContextMapper">userDetailsContextMapper</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
</li>
</ul>
</section>

<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.summary">

</a>
<h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="AbstractLdapAuthenticationProvider.html#%3Cinit%3E()">AbstractLdapAuthenticationProvider</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
</li>
</ul>
</section>

<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">

</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code><a href="../../core/Authentication.html" title="interface in org.springframework.security.core">Authentication</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="AbstractLdapAuthenticationProvider.html#authenticate(org.springframework.security.core.Authentication)">authenticate</a></span>&#8203;(<a href="../../core/Authentication.html" title="interface in org.springframework.security.core">Authentication</a>&nbsp;authentication)</code></th>
<td class="colLast">
<div class="block">Performs authentication with the same contract as
<a href="../../authentication/AuthenticationManager.html#authenticate(org.springframework.security.core.Authentication)"><code>AuthenticationManager.authenticate(Authentication)</code></a>
.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>protected <a href="../../core/Authentication.html" title="interface in org.springframework.security.core">Authentication</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="AbstractLdapAuthenticationProvider.html#createSuccessfulAuthentication(org.springframework.security.authentication.UsernamePasswordAuthenticationToken,org.springframework.security.core.userdetails.UserDetails)">createSuccessfulAuthentication</a></span>&#8203;(<a href="../../authentication/UsernamePasswordAuthenticationToken.html" title="class in org.springframework.security.authentication">UsernamePasswordAuthenticationToken</a>&nbsp;authentication,
<a href="../../core/userdetails/UserDetails.html" title="interface in org.springframework.security.core.userdetails">UserDetails</a>&nbsp;user)</code></th>
<td class="colLast">
<div class="block">Creates the final <code>Authentication</code> object which will be returned from the
<code>authenticate</code> method.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>protected abstract org.springframework.ldap.core.DirContextOperations</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="AbstractLdapAuthenticationProvider.html#doAuthentication(org.springframework.security.authentication.UsernamePasswordAuthenticationToken)">doAuthentication</a></span>&#8203;(<a href="../../authentication/UsernamePasswordAuthenticationToken.html" title="class in org.springframework.security.authentication">UsernamePasswordAuthenticationToken</a>&nbsp;auth)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>protected <a href="../userdetails/UserDetailsContextMapper.html" title="interface in org.springframework.security.ldap.userdetails">UserDetailsContextMapper</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="AbstractLdapAuthenticationProvider.html#getUserDetailsContextMapper()">getUserDetailsContextMapper</a></span>()</code></th>
<td class="colLast">
<div class="block">Provides access to the injected <code>UserDetailsContextMapper</code> strategy for use
by subclasses.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>protected abstract java.util.Collection&lt;? extends <a href="../../core/GrantedAuthority.html" title="interface in org.springframework.security.core">GrantedAuthority</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="AbstractLdapAuthenticationProvider.html#loadUserAuthorities(org.springframework.ldap.core.DirContextOperations,java.lang.String,java.lang.String)">loadUserAuthorities</a></span>&#8203;(org.springframework.ldap.core.DirContextOperations&nbsp;userData,
java.lang.String&nbsp;username,
java.lang.String&nbsp;password)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="AbstractLdapAuthenticationProvider.html#setAuthoritiesMapper(org.springframework.security.core.authority.mapping.GrantedAuthoritiesMapper)">setAuthoritiesMapper</a></span>&#8203;(<a href="../../core/authority/mapping/GrantedAuthoritiesMapper.html" title="interface in org.springframework.security.core.authority.mapping">GrantedAuthoritiesMapper</a>&nbsp;authoritiesMapper)</code></th>
<td class="colLast">
<div class="block">Sets the <a href="../../core/authority/mapping/GrantedAuthoritiesMapper.html" title="interface in org.springframework.security.core.authority.mapping"><code>GrantedAuthoritiesMapper</code></a> used for converting the authorities
loaded from storage to a new set of authorities which will be associated to the
<a href="../../authentication/UsernamePasswordAuthenticationToken.html" title="class in org.springframework.security.authentication"><code>UsernamePasswordAuthenticationToken</code></a>.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="AbstractLdapAuthenticationProvider.html#setMessageSource(org.springframework.context.MessageSource)">setMessageSource</a></span>&#8203;(org.springframework.context.MessageSource&nbsp;messageSource)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="AbstractLdapAuthenticationProvider.html#setUseAuthenticationRequestCredentials(boolean)">setUseAuthenticationRequestCredentials</a></span>&#8203;(boolean&nbsp;useAuthenticationRequestCredentials)</code></th>
<td class="colLast">
<div class="block">Determines whether the supplied password will be used as the credentials in the
successful authentication token.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="AbstractLdapAuthenticationProvider.html#setUserDetailsContextMapper(org.springframework.security.ldap.userdetails.UserDetailsContextMapper)">setUserDetailsContextMapper</a></span>&#8203;(<a href="../userdetails/UserDetailsContextMapper.html" title="interface in org.springframework.security.ldap.userdetails">UserDetailsContextMapper</a>&nbsp;userDetailsContextMapper)</code></th>
<td class="colLast">
<div class="block">Allows a custom strategy to be used for creating the <tt>UserDetails</tt> which
will be stored as the principal in the <tt>Authentication</tt> returned by the
<a href="AbstractLdapAuthenticationProvider.html#createSuccessfulAuthentication(org.springframework.security.authentication.UsernamePasswordAuthenticationToken,org.springframework.security.core.userdetails.UserDetails)"><code>createSuccessfulAuthentication(org.springframework.security.authentication.UsernamePasswordAuthenticationToken, org.springframework.security.core.userdetails.UserDetails)</code></a>
method.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="AbstractLdapAuthenticationProvider.html#supports(java.lang.Class)">supports</a></span>&#8203;(java.lang.Class&lt;?&gt;&nbsp;authentication)</code></th>
<td class="colLast">
<div class="block">Returns <code>true</code> if this <Code>AuthenticationProvider</Code> supports the
indicated <Code>Authentication</Code> object.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">

</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">

<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.detail">

</a>
<h3>Field Detail</h3>
<a id="logger">

</a>
<ul class="blockList">
<li class="blockList">
<h4>logger</h4>
<pre>protected final&nbsp;org.apache.commons.logging.Log logger</pre>
</li>
</ul>
<a id="messages">

</a>
<ul class="blockList">
<li class="blockList">
<h4>messages</h4>
<pre>protected&nbsp;org.springframework.context.support.MessageSourceAccessor messages</pre>
</li>
</ul>
<a id="userDetailsContextMapper">

</a>
<ul class="blockListLast">
<li class="blockList">
<h4>userDetailsContextMapper</h4>
<pre>protected&nbsp;<a href="../userdetails/UserDetailsContextMapper.html" title="interface in org.springframework.security.ldap.userdetails">UserDetailsContextMapper</a> userDetailsContextMapper</pre>
</li>
</ul>
</li>
</ul>
</section>

<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">

</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;()">

</a>
<ul class="blockListLast">
<li class="blockList">
<h4>AbstractLdapAuthenticationProvider</h4>
<pre>public&nbsp;AbstractLdapAuthenticationProvider()</pre>
</li>
</ul>
</li>
</ul>
</section>

<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">

</a>
<h3>Method Detail</h3>
<a id="authenticate(org.springframework.security.core.Authentication)">

</a>
<ul class="blockList">
<li class="blockList">
<h4>authenticate</h4>
<pre class="methodSignature">public&nbsp;<a href="../../core/Authentication.html" title="interface in org.springframework.security.core">Authentication</a>&nbsp;authenticate&#8203;(<a href="../../core/Authentication.html" title="interface in org.springframework.security.core">Authentication</a>&nbsp;authentication)
                            throws <a href="../../core/AuthenticationException.html" title="class in org.springframework.security.core">AuthenticationException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../authentication/AuthenticationProvider.html#authenticate(org.springframework.security.core.Authentication)">AuthenticationProvider</a></code></span></div>
<div class="block">Performs authentication with the same contract as
<a href="../../authentication/AuthenticationManager.html#authenticate(org.springframework.security.core.Authentication)"><code>AuthenticationManager.authenticate(Authentication)</code></a>
.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../authentication/AuthenticationProvider.html#authenticate(org.springframework.security.core.Authentication)">authenticate</a></code>&nbsp;in interface&nbsp;<code><a href="../../authentication/AuthenticationProvider.html" title="interface in org.springframework.security.authentication">AuthenticationProvider</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>authentication</code> - the authentication request object.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a fully authenticated object including credentials. May return
<code>null</code> if the <code>AuthenticationProvider</code> is unable to support
authentication of the passed <code>Authentication</code> object. In such a case,
the next <code>AuthenticationProvider</code> that supports the presented
<code>Authentication</code> class will be tried.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../core/AuthenticationException.html" title="class in org.springframework.security.core">AuthenticationException</a></code> - if authentication fails.</dd>
</dl>
</li>
</ul>
<a id="doAuthentication(org.springframework.security.authentication.UsernamePasswordAuthenticationToken)">

</a>
<ul class="blockList">
<li class="blockList">
<h4>doAuthentication</h4>
<pre class="methodSignature">protected abstract&nbsp;org.springframework.ldap.core.DirContextOperations&nbsp;doAuthentication&#8203;(<a href="../../authentication/UsernamePasswordAuthenticationToken.html" title="class in org.springframework.security.authentication">UsernamePasswordAuthenticationToken</a>&nbsp;auth)</pre>
</li>
</ul>
<a id="loadUserAuthorities(org.springframework.ldap.core.DirContextOperations,java.lang.String,java.lang.String)">

</a>
<ul class="blockList">
<li class="blockList">
<h4>loadUserAuthorities</h4>
<pre class="methodSignature">protected abstract&nbsp;java.util.Collection&lt;? extends <a href="../../core/GrantedAuthority.html" title="interface in org.springframework.security.core">GrantedAuthority</a>&gt;&nbsp;loadUserAuthorities&#8203;(org.springframework.ldap.core.DirContextOperations&nbsp;userData,
                                                                                        java.lang.String&nbsp;username,
                                                                                        java.lang.String&nbsp;password)</pre>
</li>
</ul>
<a id="createSuccessfulAuthentication(org.springframework.security.authentication.UsernamePasswordAuthenticationToken,org.springframework.security.core.userdetails.UserDetails)">

</a>
<ul class="blockList">
<li class="blockList">
<h4>createSuccessfulAuthentication</h4>
<pre class="methodSignature">protected&nbsp;<a href="../../core/Authentication.html" title="interface in org.springframework.security.core">Authentication</a>&nbsp;createSuccessfulAuthentication&#8203;(<a href="../../authentication/UsernamePasswordAuthenticationToken.html" title="class in org.springframework.security.authentication">UsernamePasswordAuthenticationToken</a>&nbsp;authentication,
                                                        <a href="../../core/userdetails/UserDetails.html" title="interface in org.springframework.security.core.userdetails">UserDetails</a>&nbsp;user)</pre>
<div class="block">Creates the final <code>Authentication</code> object which will be returned from the
<code>authenticate</code> method.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>authentication</code> - the original authentication request token</dd>
<dd><code>user</code> - the <tt>UserDetails</tt> instance returned by the configured
<tt>UserDetailsContextMapper</tt>.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the Authentication object for the fully authenticated user.</dd>
</dl>
</li>
</ul>
<a id="supports(java.lang.Class)">

</a>
<ul class="blockList">
<li class="blockList">
<h4>supports</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;supports&#8203;(java.lang.Class&lt;?&gt;&nbsp;authentication)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../authentication/AuthenticationProvider.html#supports(java.lang.Class)">AuthenticationProvider</a></code></span></div>
<div class="block">Returns <code>true</code> if this <Code>AuthenticationProvider</Code> supports the
indicated <Code>Authentication</Code> object.
<p>
Returning <code>true</code> does not guarantee an
<code>AuthenticationProvider</code> will be able to authenticate the presented
instance of the <code>Authentication</code> class. It simply indicates it can
support closer evaluation of it. An <code>AuthenticationProvider</code> can still
return <code>null</code> from the <a href="../../authentication/AuthenticationProvider.html#authenticate(org.springframework.security.core.Authentication)"><code>AuthenticationProvider.authenticate(Authentication)</code></a> method to
indicate another <code>AuthenticationProvider</code> should be tried.
</p>
<p>
Selection of an <code>AuthenticationProvider</code> capable of performing
authentication is conducted at runtime the <code>ProviderManager</code>.
</p></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../authentication/AuthenticationProvider.html#supports(java.lang.Class)">supports</a></code>&nbsp;in interface&nbsp;<code><a href="../../authentication/AuthenticationProvider.html" title="interface in org.springframework.security.authentication">AuthenticationProvider</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>true</code> if the implementation can more closely evaluate the
<code>Authentication</code> class presented</dd>
</dl>
</li>
</ul>
<a id="setUseAuthenticationRequestCredentials(boolean)">

</a>
<ul class="blockList">
<li class="blockList">
<h4>setUseAuthenticationRequestCredentials</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setUseAuthenticationRequestCredentials&#8203;(boolean&nbsp;useAuthenticationRequestCredentials)</pre>
<div class="block">Determines whether the supplied password will be used as the credentials in the
successful authentication token. If set to false, then the password will be
obtained from the UserDetails object created by the configured
<code>UserDetailsContextMapper</code>. Often it will not be possible to read the
password from the directory, so defaults to true.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>useAuthenticationRequestCredentials</code> - </dd>
</dl>
</li>
</ul>
<a id="setMessageSource(org.springframework.context.MessageSource)">

</a>
<ul class="blockList">
<li class="blockList">
<h4>setMessageSource</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setMessageSource&#8203;(org.springframework.context.MessageSource&nbsp;messageSource)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>setMessageSource</code>&nbsp;in interface&nbsp;<code>org.springframework.context.MessageSourceAware</code></dd>
</dl>
</li>
</ul>
<a id="setAuthoritiesMapper(org.springframework.security.core.authority.mapping.GrantedAuthoritiesMapper)">

</a>
<ul class="blockList">
<li class="blockList">
<h4>setAuthoritiesMapper</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setAuthoritiesMapper&#8203;(<a href="../../core/authority/mapping/GrantedAuthoritiesMapper.html" title="interface in org.springframework.security.core.authority.mapping">GrantedAuthoritiesMapper</a>&nbsp;authoritiesMapper)</pre>
<div class="block">Sets the <a href="../../core/authority/mapping/GrantedAuthoritiesMapper.html" title="interface in org.springframework.security.core.authority.mapping"><code>GrantedAuthoritiesMapper</code></a> used for converting the authorities
loaded from storage to a new set of authorities which will be associated to the
<a href="../../authentication/UsernamePasswordAuthenticationToken.html" title="class in org.springframework.security.authentication"><code>UsernamePasswordAuthenticationToken</code></a>. If not set, defaults to a
<a href="../../core/authority/mapping/NullAuthoritiesMapper.html" title="class in org.springframework.security.core.authority.mapping"><code>NullAuthoritiesMapper</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>authoritiesMapper</code> - the <a href="../../core/authority/mapping/GrantedAuthoritiesMapper.html" title="interface in org.springframework.security.core.authority.mapping"><code>GrantedAuthoritiesMapper</code></a> used for mapping the
user's authorities</dd>
</dl>
</li>
</ul>
<a id="setUserDetailsContextMapper(org.springframework.security.ldap.userdetails.UserDetailsContextMapper)">

</a>
<ul class="blockList">
<li class="blockList">
<h4>setUserDetailsContextMapper</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setUserDetailsContextMapper&#8203;(<a href="../userdetails/UserDetailsContextMapper.html" title="interface in org.springframework.security.ldap.userdetails">UserDetailsContextMapper</a>&nbsp;userDetailsContextMapper)</pre>
<div class="block">Allows a custom strategy to be used for creating the <tt>UserDetails</tt> which
will be stored as the principal in the <tt>Authentication</tt> returned by the
<a href="AbstractLdapAuthenticationProvider.html#createSuccessfulAuthentication(org.springframework.security.authentication.UsernamePasswordAuthenticationToken,org.springframework.security.core.userdetails.UserDetails)"><code>createSuccessfulAuthentication(org.springframework.security.authentication.UsernamePasswordAuthenticationToken, org.springframework.security.core.userdetails.UserDetails)</code></a>
method.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>userDetailsContextMapper</code> - the strategy instance. If not set, defaults to a
simple <tt>LdapUserDetailsMapper</tt>.</dd>
</dl>
</li>
</ul>
<a id="getUserDetailsContextMapper()">

</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getUserDetailsContextMapper</h4>
<pre class="methodSignature">protected&nbsp;<a href="../userdetails/UserDetailsContextMapper.html" title="interface in org.springframework.security.ldap.userdetails">UserDetailsContextMapper</a>&nbsp;getUserDetailsContextMapper()</pre>
<div class="block">Provides access to the injected <code>UserDetailsContextMapper</code> strategy for use
by subclasses.</div>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>

<footer role="contentinfo">
<nav role="navigation">

<div class="bottomNav"><a id="navbar.bottom">

</a>
<div class="skipNav"><a href="AbstractLdapAuthenticationProvider.html#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">

</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="AbstractLdapAuthenticationProvider.html#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="AbstractLdapAuthenticationProvider.html#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="AbstractLdapAuthenticationProvider.html#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="AbstractLdapAuthenticationProvider.html#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="AbstractLdapAuthenticationProvider.html#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="AbstractLdapAuthenticationProvider.html#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">

</a></div>

</nav>
</footer>
<script>if (window.parent == window) {(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)})(window,document,'script','//www.google-analytics.com/analytics.js','ga');ga('create', 'UA-2728886-23', 'auto', {'siteSpeedSampleRate': 100});ga('send', 'pageview');}</script><script defer src="https://static.cloudflareinsights.com/beacon.min.js/v652eace1692a40cfa3763df669d7439c1639079717194" integrity="sha512-Gi7xpJR8tSkrpF7aordPZQlW2DLtzUlZcumS8dMQjwDHEnw9I7ZLyiOj/6tZStRBGtGgN6ceN6cMH8z7etPGlw==" data-cf-beacon='{"rayId":"7040cdd1cfb7980c","token":"bffcb8a918ae4755926f76178bfbd26b","version":"2021.12.0","si":100}' crossorigin="anonymous"></script>
</body>
</html>
